package com.flxz.manage.service.impl;

import java.util.List;
import com.flxz.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service;
import com.flxz.manage.mapper.ManageUserExpenseMapper;
import com.flxz.manage.domain.ManageUserExpense;
import com.flxz.manage.service.IUserExpenseService;

/**
 * 用户支出（管理员）Service业务层处理
 * 
 * @author fl
 * @date 2025-09-12
 */
@Service("manageUserExpenseServiceImpl")
public class UserExpenseServiceImpl implements IUserExpenseService 
{
    @Autowired
    private ManageUserExpenseMapper userExpenseMapper;

    /**
     * 查询用户支出（管理员）
     * 
     * @param expenseId 用户支出（管理员）主键
     * @return 用户支出（管理员）
     */
    @Override
    public ManageUserExpense selectUserExpenseByExpenseId(Long expenseId)
    {
        return userExpenseMapper.selectUserExpenseByExpenseId(expenseId);
    }

    /**
     * 查询用户支出（管理员）列表
     * 
     * @param userExpense 用户支出（管理员）
     * @return 用户支出（管理员）
     */
    @Override
    public List<ManageUserExpense> selectUserExpenseList(ManageUserExpense userExpense)
    {
        return userExpenseMapper.selectUserExpenseList(userExpense);
    }

    /**
     * 新增用户支出（管理员）
     * 
     * @param userExpense 用户支出（管理员）
     * @return 结果
     */
    @Override
    public int insertUserExpense(ManageUserExpense userExpense)
    {
        userExpense.setCreateTime(DateUtils.getNowDate());
        return userExpenseMapper.insertUserExpense(userExpense);
    }

    /**
     * 修改用户支出（管理员）
     * 
     * @param userExpense 用户支出（管理员）
     * @return 结果
     */
    @Override
    public int updateUserExpense(ManageUserExpense userExpense)
    {
        userExpense.setUpdateTime(DateUtils.getNowDate());
        return userExpenseMapper.updateUserExpense(userExpense);
    }

    /**
     * 批量删除用户支出（管理员）
     * 
     * @param expenseIds 需要删除的用户支出（管理员）主键
     * @return 结果
     */
    @Override
    public int deleteUserExpenseByExpenseIds(Long[] expenseIds)
    {
        return userExpenseMapper.deleteUserExpenseByExpenseIds(expenseIds);
    }

    /**
     * 删除用户支出（管理员）信息
     * 
     * @param expenseId 用户支出（管理员）主键
     * @return 结果
     */
    @Override
    public int deleteUserExpenseByExpenseId(Long expenseId)
    {
        return userExpenseMapper.deleteUserExpenseByExpenseId(expenseId);
    }
}
